package com.cgs.query.handler

import com.cgs.query.domain.SyncProject

/**
 * 服务端同步处理器
 * 同步的代价很高，会导致本地项目断开
 */
interface SyncHandler {

    /**
     * 请求，接收数据
     * 前提：在单独的部署服务器上，才能使用该接口
     * 进行项目之间的同步
     * serverUrl：服务地址
     * targetProject： 同步目标
     * originProject： 源目标（主）
     */
    fun targetServerReceive(serverUrl: String, targetProject: String, originProject: String)

    /**
     * 服务端 返回数据
     */
    fun originServerResponse(originProject: String): SyncProject

    companion object {
        const val PROJECT_SYNC_METHOD_NAME = "project_sync"
    }
}